package com.christina.service;

import org.springframework.ai.chat.messages.Message;

import java.util.List;

/**
 * 缓存服务接口
 * 
 * @author Christina
 */
public interface CacheService {
    
    /**
     * 缓存聊天历史
     * 
     * @param userId 用户ID
     * @param messages 聊天消息列表
     */
    void cacheChatHistory(Long userId, List<Message> messages);
    
    /**
     * 获取缓存的聊天历史
     * 
     * @param userId 用户ID
     * @return 聊天消息列表
     */
    List<Message> getCachedChatHistory(Long userId);
    
    /**
     * 清除聊天历史缓存
     * 
     * @param userId 用户ID
     */
    void clearChatHistoryCache(Long userId);
    
    /**
     * 缓存用户信息
     * 
     * @param userId 用户ID
     * @param userInfo 用户信息
     */
    void cacheUserInfo(Long userId, Object userInfo);
    
    /**
     * 获取缓存的用户信息
     * 
     * @param userId 用户ID
     * @return 用户信息
     */
    Object getCachedUserInfo(Long userId);
    
    /**
     * 清除用户信息缓存
     * 
     * @param userId 用户ID
     */
    void clearUserInfoCache(Long userId);
}